<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Organization\V20210331\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeOrganizationMemberEmailBind response structure.
 *
 * @method integer getBindId() Obtain Bound ID.
 * @method void setBindId(integer $BindId) Set Bound ID.
 * @method string getApplyTime() Obtain Application time.
 * @method void setApplyTime(string $ApplyTime) Set Application time.
 * @method string getEmail() Obtain Email address.
 * @method void setEmail(string $Email) Set Email address.
 * @method string getPhone() Obtain Verification mobile number.
 * @method void setPhone(string $Phone) Set Verification mobile number.
 * @method string getBindStatus() Obtain Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
 * @method void setBindStatus(string $BindStatus) Set Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
 * @method string getBindTime() Obtain Binding time.
 * @method void setBindTime(string $BindTime) Set Binding time.
 * @method string getDescription() Obtain Failure description.
 * @method void setDescription(string $Description) Set Failure description.
 * @method integer getPhoneBind() Obtain Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
 * @method void setPhoneBind(integer $PhoneBind) Set Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
 * @method string getCountryCode() Obtain International area code.
 * @method void setCountryCode(string $CountryCode) Set International area code.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeOrganizationMemberEmailBindResponse extends AbstractModel
{
    /**
     * @var integer Bound ID.
     */
    public $BindId;

    /**
     * @var string Application time.
     */
    public $ApplyTime;

    /**
     * @var string Email address.
     */
    public $Email;

    /**
     * @var string Verification mobile number.
     */
    public $Phone;

    /**
     * @var string Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
     */
    public $BindStatus;

    /**
     * @var string Binding time.
     */
    public $BindTime;

    /**
     * @var string Failure description.
     */
    public $Description;

    /**
     * @var integer Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
     */
    public $PhoneBind;

    /**
     * @var string International area code.
     */
    public $CountryCode;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param integer $BindId Bound ID.
     * @param string $ApplyTime Application time.
     * @param string $Email Email address.
     * @param string $Phone Verification mobile number.
     * @param string $BindStatus Binding status: unbound indicates not bound; valid indicates to be activated; success indicates bound successfully; failed indicates binding failed.
     * @param string $BindTime Binding time.
     * @param string $Description Failure description.
     * @param integer $PhoneBind Verification mobile number binding status. 0 indicates unbound and 1 indicates bound.
     * @param string $CountryCode International area code.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("BindId",$param) and $param["BindId"] !== null) {
            $this->BindId = $param["BindId"];
        }

        if (array_key_exists("ApplyTime",$param) and $param["ApplyTime"] !== null) {
            $this->ApplyTime = $param["ApplyTime"];
        }

        if (array_key_exists("Email",$param) and $param["Email"] !== null) {
            $this->Email = $param["Email"];
        }

        if (array_key_exists("Phone",$param) and $param["Phone"] !== null) {
            $this->Phone = $param["Phone"];
        }

        if (array_key_exists("BindStatus",$param) and $param["BindStatus"] !== null) {
            $this->BindStatus = $param["BindStatus"];
        }

        if (array_key_exists("BindTime",$param) and $param["BindTime"] !== null) {
            $this->BindTime = $param["BindTime"];
        }

        if (array_key_exists("Description",$param) and $param["Description"] !== null) {
            $this->Description = $param["Description"];
        }

        if (array_key_exists("PhoneBind",$param) and $param["PhoneBind"] !== null) {
            $this->PhoneBind = $param["PhoneBind"];
        }

        if (array_key_exists("CountryCode",$param) and $param["CountryCode"] !== null) {
            $this->CountryCode = $param["CountryCode"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
